package serviceWeb;

import org.restlet.Component;
import org.restlet.data.Protocol;

/**
 * Serveur gérant les ressources de base de données. Elles répondent à GET (lecture),
 * PUT (mise à jour) et DELETE. Les erreurs possibles sont toutes prises en charge.
 */
public class Serveur {

  public static void main(String[] args) throws Exception {
    // Creer un composant serveur
    Component composantServeur = new Component();
    // Lui adjoindre un serveur HTTP sur le port 8182
    composantServeur.getServers().add(Protocol.HTTP, 8182);

    //Augmenter le nombre maximal de connexions
    composantServeur.getContext().getParameters().add("maxTotalConnections", "512");
    composantServeur.getContext().getParameters().add("maxThreads", "512");
    
    composantServeur.getDefaultHost().attach("/bases", ToutesBasesResource.class);

    composantServeur.getDefaultHost().attach("/bases/{nomBD}", BaseResource.class);

    composantServeur.getDefaultHost().attach("/bases/{nomBD}/tables/{nomTable}/schema", TableSchemaResource.class);

    composantServeur.getDefaultHost().attach("/bases/{nomBD}/tables/{nomTable}/records", TableRecordsResource.class);
 
    composantServeur.getDefaultHost().attach("/bases/{nomBD}/tables/{nomTable}/records/{identifiant}", RecordResource.class);

    // Demarrer le composant (et donc le serveur)
    composantServeur.start();
  }
}
